package LearnDataStructure.b_散列结构;

import java.util.Iterator;

/**
 * @version: 1.0
 * @Author: wuqiu
 * @date: 2023-07-05 19:11
 * @description: LeetcodeLearnAlgorithm -> LearnDataStructure.b_散列结构
 */
public interface MyHashSetAPI<K> {
    /**
     * 添加元素
     * @param key
     */
    void add(K key);

    /**
     * 判断是否包含指定元素
     * @param key
     * @return
     */
    boolean contains(K key);

    /**
     * 移除指定元素
     * @param key
     */
    void remove(K key);

    /**
     * 返回当前容器元素数
     * @return
     */
    int size();

    /**
     * 判断容器是否为空
     * @return
     */
    boolean isEmpty();

    /**
     * 清空容器
     */
    void clear();

    /**
     * 返回当前容器的迭代器
     * @return
     */
    Iterator<K> iterator();
}
